package org.jsola.hr.provider;

import org.jsola.contract.query.ContractQuery;
import org.jsola.contract.vo.ContractListVO;
import org.jsola.contract.vo.ContractStatisticsEmpUnitsVO;
import org.jsola.core.Page;
import org.jsola.user.core.TokenUser;

import java.util.List;

/**
 * @author wcl
 */
public interface IContractOverviewProviderService {

    /**
     * 分页查询用工单位排名
     *
     * @param contractQuery 查询参数
     * @param tokenUser     当前用户
     * @return 用工单位排名
     */
    Page<ContractStatisticsEmpUnitsVO> selectComForRankCount(ContractQuery contractQuery, TokenUser tokenUser);

    /**
     * 查询用工单位排名
     *
     * @param tokenUser     当前用户
     * @return 用工单位排名List
     */
    List<ContractStatisticsEmpUnitsVO> selectComForRankCountList(TokenUser tokenUser);


    /**
     * 分页查询合同
     *
     * @param contractQuery 查询条件
     * @param tokenUser     当前用户
     * @return 合同列表信息
     */
    Page<ContractListVO> selectPageContract(ContractQuery contractQuery, TokenUser tokenUser);

    /**
     * 分页查询合同（多个subjectId 进行查询）
     * @param contractQuery 查询条件
     * @param siteId 所属站点id
     * @return 合同列表信息
     */
    Page<ContractListVO> selectPageBySubjectIds(ContractQuery contractQuery, String siteId);

}
